fix: setting headerBackTitleVisible to false not working on iOS #11937
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
According to the docs, setting
headerBackTitleVisible
tofalse
should hide the back title on iOS, while this is not the case withreact-native-screens
v3.29+.Cause
With the current code,
backTitle={headerBackTitleVisible ? headerBackTitle : ' '}
, the back title is set to a blank string ifheaderBackTitleVisible
is false. However, in newer versions ofreact-native-screens
, thebackTitle
will be considered blank if it only contains white spaces, making it fallback to the default title - which makes the back title not hidden at all.Fix
Assign the
backTitleVisible
property ofRNSScreenStackHeaderConfig
native component, which seems to be a legit way to hide the back title.Test plan
backTitleVisible
screen option set tofalse
.react-native-screens
.react-native-screens
3.20.0
and3.21.0
, app does not crash and the back title remains hidden-able.